package cn.iocoder.yudao.module.system.controller.admin.zkdata.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - 数据纪录新增/修改 Request VO")
@Data
public class ZkDataSaveReqVO {

    @Schema(description = "角色ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "14087")
    private Long id;

    @Schema(description = "包长度", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "包长度不能为空")
    private Integer packetLength;

    @Schema(description = "接收方", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "接收方不能为空")
    private String dataReceiver;

    @Schema(description = "发送方", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "发送方不能为空")
    private String dataSender;

    @Schema(description = "数据类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "数据类型不能为空")
    private Integer dataType;

    @Schema(description = "包序列号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "包序列号不能为空")
    private Integer dataSeq;

    @Schema(description = "数据长度", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "数据长度不能为空")
    private Integer dataLength;

    @Schema(description = "数据载荷", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "数据载荷不能为空")
    private String dataPayload;

    @Schema(description = "原始数据", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "原始数据不能为空")
    private String oriData;

    @Schema(description = "转发状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "转发状态不能为空")
    private Integer status;

}